package com.aikg.kgrag_java.service;

import com.aikg.kgrag_java.pojo.entity.Question;

import java.time.LocalDateTime;
import java.util.List;
import java.util.Optional;

public interface QuestionService {
    public void saveOrUpdateOne(Question question);

    public void save(Question question);

    public Optional<Question> getOneById(String questionId);

    public List<Question> getByKeyword(String keyword);

    public List<Question> getTopList(int limit, String projectId);

    public void incrementFrequency(String questionId);

    public List<Question> getByKeywords(String keywords, int minimumShouldMatch, int limit, String projectId);

    public void saveBatch(List<Question> questions);

    public void deleteOne(String questionId);

    public List<Question> getHotQuestions(LocalDateTime startTime, LocalDateTime endTime, int limit, String projectId);

    public void deleteAll(List<String> questionIds);

    public List<Question> getByKeyword(String keyword,String projectId);

    public void updateOne(Question question);
}
